Avant de nous lancer dans le code de notre application, nous avons souhaité étudier les différentes caractéristiques ainsi que les différentes utilisations du NFC.

\section{Near Field Communication}

\subsection{Présentation}
NFC (Near Field Communication) est une technologie de communication sans fil à courte portée et haute fréquence. Elle permet l'échange d'informations entrer des périphériques jusqu'à une distance d'environ 10 cm.\\
\indent A l'instar de la technologie \textit{RFID} qui utilise des marqueurs passifs (elle utilise aussi des marqueurs actifs), les communications NFC s'appuient sur le lecteur pour transmettre la puissance à la puce NFC par radiofréquence. \\

Cette technologie est de plus en plus utilisée pour par exemple:
\begin{itemize}
\item[\ding{250}] Paiement simplifié
\item[\ding{250}] Contrôle d'accès à des locaux sécurisés
\item[\ding{250}] Récupération d'informations
\end{itemize}

\subsection{Caractéristiques principales}

\begin{wrapfigure}{r}{0.5\textwidth}
  \vspace{-30pt}
  \begin{center}
   \includegraphics[width=250px]{./RESSOURCES/nfc-other-contactless.png} 
  \end{center}
   \vspace{-15pt}
   \caption{blablabla}
 \vspace{-50pt}
\end{wrapfigure}

\vspace{10pt}
Le principale avantage du NFC est sont temps d'activation. Le temps de connexion entrer 2 périphériques NFC est inférieur à $1/10$ de seconde (pour par exemple moins de 6 secondes pour le Bluetooth).
De plus la faible portée de cette technologie renforce la sécurité vis à vis de l'utilisateur.

\paragraph{Caractéristiques}
\begin{itemize}
\item[\ding{250}] Débits de communication: 106,212 ou 424 kbit/s
\item[\ding{250}] Gamme de fréquence: 13.56 MHz
\item[\ding{250}] Distance de communication: $< 0.1$ m
\item[\ding{250}] Temps d'activation: $< 0.1$ s
\end{itemize}

\paragraph{Normes}
\begin{itemize}
\item[\ding{250}] NFCIP-1 (ISO/CEI 18092) définit l'interface et le protocole de communication entre deux périphériques NFC
\item[\ding{250}] ISO/CEI 14443-1 à ISO/CEI 14443-4 définissent la communication avec des circuits intégrés sans contact
\item[\ding{250}] NDEF (NFC Data Exchange Format) définit le format d'échange logique des données
\end{itemize}

\subsection{Modes de fonctionnement}

\paragraph{Mode passif}
En mode passif, le terminal se comporte comme une carte à puce sans contact.

\paragraph{Mode actif}
En mode actif, le terminal se comporte comme une lecteur de cartes sans contact ou de \textit{tags}. Il permet de récupérer des informations lorsque le terminal se trouve à porter du \textit{tag}.

\paragraph{\textit{Peer to peer}}
Ce dernier mode permet à deux terminaux de pouvoir s'échanger des données.

\section{Applications connexes: Whack-a-Mole}

Une équipe du\textit{ DOCOMO Euro-Labs}\footnote{Gregor Broll, Roman Graebsch, Paul Holleis, Matthias Wagner} à Munich a déjà travaillé sur un projet de grille de tags NFC:\textit{Touch to Play - Mobile Gaming with Dynamic, NFC-based Physical User Interfaces}\cite{Broll:2010:MPU:1851600.1851624}.\\

 Ce projet consistait à utiliser une grille de \textit{tags} (960 \textit{tags}) pour simuler le jeu \textit{Whack-a-Mole}. Chacune des 24 cases est simulée par une sous matrice de \textit{tags} de dimension $5*8$ qui permet l’interaction de plusieurs terminaux simultanément.\\
  Le terminal mobile détecte sa position sur la grille et la transmet au serveur via \textit{Bluetooth}. Le vidéo projecteur sert juste à simuler l'interface graphique.\\

\begin{figure}[!ht]
\center{\includegraphics[scale=0.3]{RESSOURCES/schema.jpg}}
\caption{Basic setup of a dynamic NFC-display}
\end{figure}

Néanmoins cet article est assez succinct car il ne stipule aucune mesure de temps quant à l’interaction tag et terminal mobile. De plus aucune gestion des mouvements n'est mentionné, seulement la détection de la position sur la grille est utilisée.\\
Cet article ne nous certifie donc pas la possibilité d'utiliser les matrices de \textit{tags} pour une utilisation gestuelle.

\section{Développement Android}

Une fois l'analyse de cette application terminée, nous avons choisi de parcourir les documentations de l'\textit{API Android}\cite{APIs} nous  permettant ainsi de borner nos recherches à ce qui était possible en terme d'implémentation.\\

Le livre \textit{Professional Android 2 Application Development}\cite{ProfessionalAndroid-1} nous a permis de saisir les rudiments de ce type de programmation et d'apprendre un peu plus à manier la version 2.x de l'API.\\

Les exemples fiables présents dans le SDK Android nous furent d'une grande utilité:\\
L'application \emph{TagViewer}\cite{ApiDemos} nous a offert la possibilité de visualiser la quasi totalité des APIs disponibles ainsi que les permissions qui étaient nécessaire pour manipuler le NFC.\\
